package com.cn.mmd.model;

import java.util.ArrayList;
import java.util.List;

public class GradeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GradeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andGradeidIsNull() {
            addCriterion("gradeId is null");
            return (Criteria) this;
        }

        public Criteria andGradeidIsNotNull() {
            addCriterion("gradeId is not null");
            return (Criteria) this;
        }

        public Criteria andGradeidEqualTo(Integer value) {
            addCriterion("gradeId =", value, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidNotEqualTo(Integer value) {
            addCriterion("gradeId <>", value, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidGreaterThan(Integer value) {
            addCriterion("gradeId >", value, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("gradeId >=", value, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidLessThan(Integer value) {
            addCriterion("gradeId <", value, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidLessThanOrEqualTo(Integer value) {
            addCriterion("gradeId <=", value, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidIn(List<Integer> values) {
            addCriterion("gradeId in", values, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidNotIn(List<Integer> values) {
            addCriterion("gradeId not in", values, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidBetween(Integer value1, Integer value2) {
            addCriterion("gradeId between", value1, value2, "gradeid");
            return (Criteria) this;
        }

        public Criteria andGradeidNotBetween(Integer value1, Integer value2) {
            addCriterion("gradeId not between", value1, value2, "gradeid");
            return (Criteria) this;
        }

        public Criteria andStuidIsNull() {
            addCriterion("stuId is null");
            return (Criteria) this;
        }

        public Criteria andStuidIsNotNull() {
            addCriterion("stuId is not null");
            return (Criteria) this;
        }

        public Criteria andStuidEqualTo(String value) {
            addCriterion("stuId =", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidNotEqualTo(String value) {
            addCriterion("stuId <>", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidGreaterThan(String value) {
            addCriterion("stuId >", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidGreaterThanOrEqualTo(String value) {
            addCriterion("stuId >=", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidLessThan(String value) {
            addCriterion("stuId <", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidLessThanOrEqualTo(String value) {
            addCriterion("stuId <=", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidLike(String value) {
            addCriterion("stuId like", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidNotLike(String value) {
            addCriterion("stuId not like", value, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidIn(List<String> values) {
            addCriterion("stuId in", values, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidNotIn(List<String> values) {
            addCriterion("stuId not in", values, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidBetween(String value1, String value2) {
            addCriterion("stuId between", value1, value2, "stuid");
            return (Criteria) this;
        }

        public Criteria andStuidNotBetween(String value1, String value2) {
            addCriterion("stuId not between", value1, value2, "stuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidIsNull() {
            addCriterion("courseSPUId is null");
            return (Criteria) this;
        }

        public Criteria andCoursespuidIsNotNull() {
            addCriterion("courseSPUId is not null");
            return (Criteria) this;
        }

        public Criteria andCoursespuidEqualTo(String value) {
            addCriterion("courseSPUId =", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidNotEqualTo(String value) {
            addCriterion("courseSPUId <>", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidGreaterThan(String value) {
            addCriterion("courseSPUId >", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidGreaterThanOrEqualTo(String value) {
            addCriterion("courseSPUId >=", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidLessThan(String value) {
            addCriterion("courseSPUId <", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidLessThanOrEqualTo(String value) {
            addCriterion("courseSPUId <=", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidLike(String value) {
            addCriterion("courseSPUId like", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidNotLike(String value) {
            addCriterion("courseSPUId not like", value, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidIn(List<String> values) {
            addCriterion("courseSPUId in", values, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidNotIn(List<String> values) {
            addCriterion("courseSPUId not in", values, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidBetween(String value1, String value2) {
            addCriterion("courseSPUId between", value1, value2, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andCoursespuidNotBetween(String value1, String value2) {
            addCriterion("courseSPUId not between", value1, value2, "coursespuid");
            return (Criteria) this;
        }

        public Criteria andTotalgradeIsNull() {
            addCriterion("totalGrade is null");
            return (Criteria) this;
        }

        public Criteria andTotalgradeIsNotNull() {
            addCriterion("totalGrade is not null");
            return (Criteria) this;
        }

        public Criteria andTotalgradeEqualTo(Float value) {
            addCriterion("totalGrade =", value, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeNotEqualTo(Float value) {
            addCriterion("totalGrade <>", value, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeGreaterThan(Float value) {
            addCriterion("totalGrade >", value, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeGreaterThanOrEqualTo(Float value) {
            addCriterion("totalGrade >=", value, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeLessThan(Float value) {
            addCriterion("totalGrade <", value, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeLessThanOrEqualTo(Float value) {
            addCriterion("totalGrade <=", value, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeIn(List<Float> values) {
            addCriterion("totalGrade in", values, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeNotIn(List<Float> values) {
            addCriterion("totalGrade not in", values, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeBetween(Float value1, Float value2) {
            addCriterion("totalGrade between", value1, value2, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTotalgradeNotBetween(Float value1, Float value2) {
            addCriterion("totalGrade not between", value1, value2, "totalgrade");
            return (Criteria) this;
        }

        public Criteria andTeacheridIsNull() {
            addCriterion("teacherId is null");
            return (Criteria) this;
        }

        public Criteria andTeacheridIsNotNull() {
            addCriterion("teacherId is not null");
            return (Criteria) this;
        }

        public Criteria andTeacheridEqualTo(String value) {
            addCriterion("teacherId =", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridNotEqualTo(String value) {
            addCriterion("teacherId <>", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridGreaterThan(String value) {
            addCriterion("teacherId >", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridGreaterThanOrEqualTo(String value) {
            addCriterion("teacherId >=", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridLessThan(String value) {
            addCriterion("teacherId <", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridLessThanOrEqualTo(String value) {
            addCriterion("teacherId <=", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridLike(String value) {
            addCriterion("teacherId like", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridNotLike(String value) {
            addCriterion("teacherId not like", value, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridIn(List<String> values) {
            addCriterion("teacherId in", values, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridNotIn(List<String> values) {
            addCriterion("teacherId not in", values, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridBetween(String value1, String value2) {
            addCriterion("teacherId between", value1, value2, "teacherid");
            return (Criteria) this;
        }

        public Criteria andTeacheridNotBetween(String value1, String value2) {
            addCriterion("teacherId not between", value1, value2, "teacherid");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeIsNull() {
            addCriterion("classroomgGrade is null");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeIsNotNull() {
            addCriterion("classroomgGrade is not null");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeEqualTo(Float value) {
            addCriterion("classroomgGrade =", value, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeNotEqualTo(Float value) {
            addCriterion("classroomgGrade <>", value, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeGreaterThan(Float value) {
            addCriterion("classroomgGrade >", value, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeGreaterThanOrEqualTo(Float value) {
            addCriterion("classroomgGrade >=", value, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeLessThan(Float value) {
            addCriterion("classroomgGrade <", value, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeLessThanOrEqualTo(Float value) {
            addCriterion("classroomgGrade <=", value, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeIn(List<Float> values) {
            addCriterion("classroomgGrade in", values, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeNotIn(List<Float> values) {
            addCriterion("classroomgGrade not in", values, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeBetween(Float value1, Float value2) {
            addCriterion("classroomgGrade between", value1, value2, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andClassroomggradeNotBetween(Float value1, Float value2) {
            addCriterion("classroomgGrade not between", value1, value2, "classroomggrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeIsNull() {
            addCriterion("schoolworkGrade is null");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeIsNotNull() {
            addCriterion("schoolworkGrade is not null");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeEqualTo(Float value) {
            addCriterion("schoolworkGrade =", value, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeNotEqualTo(Float value) {
            addCriterion("schoolworkGrade <>", value, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeGreaterThan(Float value) {
            addCriterion("schoolworkGrade >", value, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeGreaterThanOrEqualTo(Float value) {
            addCriterion("schoolworkGrade >=", value, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeLessThan(Float value) {
            addCriterion("schoolworkGrade <", value, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeLessThanOrEqualTo(Float value) {
            addCriterion("schoolworkGrade <=", value, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeIn(List<Float> values) {
            addCriterion("schoolworkGrade in", values, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeNotIn(List<Float> values) {
            addCriterion("schoolworkGrade not in", values, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeBetween(Float value1, Float value2) {
            addCriterion("schoolworkGrade between", value1, value2, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andSchoolworkgradeNotBetween(Float value1, Float value2) {
            addCriterion("schoolworkGrade not between", value1, value2, "schoolworkgrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeIsNull() {
            addCriterion("innovateGrade is null");
            return (Criteria) this;
        }

        public Criteria andInnovategradeIsNotNull() {
            addCriterion("innovateGrade is not null");
            return (Criteria) this;
        }

        public Criteria andInnovategradeEqualTo(Float value) {
            addCriterion("innovateGrade =", value, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeNotEqualTo(Float value) {
            addCriterion("innovateGrade <>", value, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeGreaterThan(Float value) {
            addCriterion("innovateGrade >", value, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeGreaterThanOrEqualTo(Float value) {
            addCriterion("innovateGrade >=", value, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeLessThan(Float value) {
            addCriterion("innovateGrade <", value, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeLessThanOrEqualTo(Float value) {
            addCriterion("innovateGrade <=", value, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeIn(List<Float> values) {
            addCriterion("innovateGrade in", values, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeNotIn(List<Float> values) {
            addCriterion("innovateGrade not in", values, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeBetween(Float value1, Float value2) {
            addCriterion("innovateGrade between", value1, value2, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andInnovategradeNotBetween(Float value1, Float value2) {
            addCriterion("innovateGrade not between", value1, value2, "innovategrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeIsNull() {
            addCriterion("attendanceGrade is null");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeIsNotNull() {
            addCriterion("attendanceGrade is not null");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeEqualTo(Float value) {
            addCriterion("attendanceGrade =", value, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeNotEqualTo(Float value) {
            addCriterion("attendanceGrade <>", value, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeGreaterThan(Float value) {
            addCriterion("attendanceGrade >", value, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeGreaterThanOrEqualTo(Float value) {
            addCriterion("attendanceGrade >=", value, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeLessThan(Float value) {
            addCriterion("attendanceGrade <", value, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeLessThanOrEqualTo(Float value) {
            addCriterion("attendanceGrade <=", value, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeIn(List<Float> values) {
            addCriterion("attendanceGrade in", values, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeNotIn(List<Float> values) {
            addCriterion("attendanceGrade not in", values, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeBetween(Float value1, Float value2) {
            addCriterion("attendanceGrade between", value1, value2, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andAttendancegradeNotBetween(Float value1, Float value2) {
            addCriterion("attendanceGrade not between", value1, value2, "attendancegrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeIsNull() {
            addCriterion("finalGrade is null");
            return (Criteria) this;
        }

        public Criteria andFinalgradeIsNotNull() {
            addCriterion("finalGrade is not null");
            return (Criteria) this;
        }

        public Criteria andFinalgradeEqualTo(Float value) {
            addCriterion("finalGrade =", value, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeNotEqualTo(Float value) {
            addCriterion("finalGrade <>", value, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeGreaterThan(Float value) {
            addCriterion("finalGrade >", value, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeGreaterThanOrEqualTo(Float value) {
            addCriterion("finalGrade >=", value, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeLessThan(Float value) {
            addCriterion("finalGrade <", value, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeLessThanOrEqualTo(Float value) {
            addCriterion("finalGrade <=", value, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeIn(List<Float> values) {
            addCriterion("finalGrade in", values, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeNotIn(List<Float> values) {
            addCriterion("finalGrade not in", values, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeBetween(Float value1, Float value2) {
            addCriterion("finalGrade between", value1, value2, "finalgrade");
            return (Criteria) this;
        }

        public Criteria andFinalgradeNotBetween(Float value1, Float value2) {
            addCriterion("finalGrade not between", value1, value2, "finalgrade");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}